//
// Created by 吴喆 on 2020/3/5.
//

#ifndef SUMMER_SPRITERENDER_H
#define SUMMER_SPRITERENDER_H

#include <glm/glm.hpp>
#include <glm/ext.hpp>

#include "../engine/Renderer.h"
#include "../engine/Camera.h"

class Shader;
class Texture2D;

class SpriteRenderer : public Renderer {
public:
    explicit SpriteRenderer(Shader *shader);

    void DrawSprite(Camera *camera, Texture2D *texture, glm::vec2 position,
                    glm::vec2 size, float rotate, bool hFlip, bool vFlip, bool useColor, glm::vec4 color) override;

private:
    void initRenderData() final;
};


#endif //SUMMER_SPRITERENDER_H
